package com.ruoyi.business.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.AssertTrue;
import javax.validation.constraints.NotEmpty;

@Data
@ApiModel("前台获取用户信息-入参")
public class FrontUserInfoDTO {

    @NotEmpty(message = "用户类型不能为空")
    @ApiModelProperty("用户类型(0：学生，1：家长，2：教师)")
    private String userType;

    @ApiModelProperty("学生id")
    private Long studentId;

    @ApiModelProperty("班级id")
    private Long classId;

    // 校验逻辑：当用户类型为家长时，学生id必填
    @AssertTrue(message = "当用户类型为家长时，学生id不能为空")
    public boolean isStudentIdValid() {
        return !"1".equals(userType) || studentId != null;
    }

    // 校验逻辑：当用户类型为教师时，班级id必填
    @AssertTrue(message = "当用户类型为教师时，班级id不能为空")
    public boolean isClassIdValid() {
        return !"2".equals(userType) || classId != null;
    }
}
